package com.ruoyi.combat.service.antihoming;

import com.ruoyi.combat.domain.neo4j.IpNode;
import com.ruoyi.combat.domain.neo4j.OrgNode;
import com.ruoyi.combat.domain.request.AntiHomingInfoRequest;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;

public interface AntiHomingInfoService {

    /**
     * 根据IP或者组织，分页从neo4j中查询数据，每次查询10条
     */
    Page<IpNode> antiHomingInfoByIpOrOrg(AntiHomingInfoRequest request);


    /**
     * 确认风险页查询
     */
    List<Map> riskPageQuery(AntiHomingInfoRequest request);


    /**
     * 分页查询预测组织和节点的关系
     */
    List<Map> predictRelationship(AntiHomingInfoRequest request);

    /**
     * 确定IP-组织关系抗归属
     */
    void antiHomingInfo(AntiHomingInfoRequest request);

    /**
     * 预测IP-组织归属关系抗归属
     */
    Map<String,Object> predictAntiHomingInfo(AntiHomingInfoRequest request);

    Map<String,Object> riskStatistics();

    List<OrgNode> getAllOrg();

    String combatAtlasTask(Map map);

    List getInfoByIp(String  ip, String type);
    List screen();
}
